/**
 * 使用vite是目前最常使用的一种配置方式，可以参考vite的官方文档对项目进行配置
 * 目前需要添加的功能如下:
 *
 * @since 1.0.0
 * （1）添加部分别名，如components的快捷访问，等等。
 * （2）配置跨域访问，让项目可以将请求真正的发送到后端
 *
 * @version 1.0.0
 */
import { defineConfig } from "vite";
import vue from "@vitejs/plugin-vue";
// import cesium from "vite-plugin-cesium";

import { join } from "path";

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [
    // 使用vue来管理项目
    vue(),
    // 使用cesium管理地图组件
    // cesium()
  ],
  resolve: {
    // 配置别名
    alias: {
      // 配置源代码根目录的别名
      "@": join(__dirname, "./src"),
      // 配置组件存放位置的别名
      "comp": join(__dirname, "./src/components"),
    },
  },
  // 配置服务器
  server: {
    host: true,
    port: 8080,
    https: false,
    // 配置代理
    proxy: {
      "/api": {
        target: "http://192.168.107.198:8081",
        changeOrigin: true,
        // 这里使用正则表达式进行替换
        rewrite: (path) => path.replace(/^\/api/, "/ucarbon"),
      },
      "/static": {
        target: "http://192.168.107.198:8081",
        changeOrigin: true,
        rewrite: (path) => path.replace(/^\/static/, "/"),
      },
      // "/geoserver": {
      //   target: "http://192.168.107.198:8082",
      //   changeOrigin: true,
      // }
    },
  },
});
